Una cadena suele ser representada entre
comillas dobles superiores ("palabra"), mientras que un
carácter de esa cadena (un char en inglés) suele
ser representado entre comillas simples ('p'). Por
ejemplo, en C:
char c = 'a';
char str[5] = "hola";
Generalmente para acceder a un carácter en una
posición determinada se suele usar la forma
variable[posición] como cuando se accede a un
vector.
Para poder mostrar una comilla (") dentro de la cadena y
no tener problemas con las comillas que la delimitan, se usan
secuencias de escape. Esto se aplica a otros caracteres
reservados o no imprimibles como el retorno de carro. No
obstante, las expresiones para producir estas secuencias de
escape dependen del lenguaje de programación que se
esté usando. Una forma común, en muchos lenguajes,
de escapar un carácter es anteponiéndole un
«» (sin comillas), p. e.: «"» (sin
comillas).
Cadenas
dinámicas y estáticas
Las cadenas pueden ser de naturaleza dinámica
(pueden alterar su longitud durante el tiempo de
ejecución), o de naturaleza estática (su longitud
es fija a lo largo del tiempo de ejecución). En este
segundo caso el programador debe prever que al recorrer la cadena
los índices no se vayan de los límites previstos (C
no permite que las cadenas crezcan automáticamente de
forma explicita, mientras que C# sí).
El final de la cadena se delimita de diferente manera en
uno u otro caso:
Mediante un carácter de fin de
cadena ("" en C) para las cadenas de tipo
dinámico.
Mediante una propiedad de la cadena que
delimite su longitud (Count en C#) para las de tipo
estático.
Algunas operaciones comunes
Concatenación: unir dos cadenas de
caracteres.
$pareja = "Joshua"." y "."Lidia" # en Perl
y PHP;
pareja = "Luisa" & " y " & "Carmen"
# en Visual Basic;
pareja = "Luisa" + " y " + "Carmen"; # en
C++ y Java con la clase String.
Multiplicar una cadena: repetir una cadena
un número de veces
$puntos ="." x 5 # pone 5 puntos en
Perl
Por último tenemos la función strcat( )
que ejecuta una concatenación de cadenas, es decir, copia
la segunda cadena especificada dentro del paréntesis de la
función enseguida de la primera cadena especificada,
agregando un caracter nulo al final de la cadena
resultante.
Como ya se menciono se debe especificar la
terminación de la cadena con el carácter nulo ''.
Por lo anterior, cuando se declare un arreglo de caracteres se
debe considerar un carácter adicional a la cadena
más larga que se vaya a guardar. Por ejemplo, si se quiere
declarar un arreglo cadena que guarde una cadena de diez
caracteres, se hará como:
char cadena[11];
Se pueden hacer también inicializaciones de
arreglos de caracteres en donde automáticamente C asigna
el caracter nulo al final de la cadena, de la siguiente
forma:
char nombre_arr[ tam ]="cadena";
Por ejemplo, el siguiente fragmento inicializa cadena
con “hola'':
char cadena[5]="hola";
El código anterior es equivalente a:
char cadena[5]={'h','o','l','a',''};
Para asignar la entrada estándar a una cadena se
puede usar la función scanf con la opción %s
(observar que no se requiere usar el operador &), de igual
forma para mostrarlo en la salida estándar.
Por ejemplo:
Imagen 4
Imagen 4
Arreglos
Un array (también conocido como arreglo, vector o
matriz) es una colección de variables relacionadas a las
que se hace referencia por medio de un nombre en
común.
Es un modo de manejar una gran cantidad de datos del
mismo tipo bajo un mismo nombre o identificador. En esta
práctica utilizaremos cadenas unidimensionales (vectores y
cadenas de caracteres).
• Su forma general es: tipo nombre[ tamaño
]
Ejemplo double datos[10] : En esta sentencia se reserva
espacio para 10 variables de tipo double, las cuales se van a
manejar por medio del nombre datos y un índice, el cual en
C++ siempre empieza por "cero".
• Los elementos se enumeran desde 0 hasta (n-1).
Hay que tener mucho cuidado de no sobre-pasar las dimensiones del
array, en cuyo caso daría error el programa.
Si queremos acceder al primer elemento del ejemplo
anterior: datos[0]=2.5; Al segundo: datos[1]=4.5; Y así
sucesivamente hasta el último valor:
datos[9]=3.5
Arreglos
Unidimensionales Y Bidimensionales
Los arreglos permiten agrupar datos usando un mismo
identificador. Todos los elementos de un arreglo son del mismo
tipo, y para acceder a cada elemento se usan subíndices.
En el siguiente capítulo se presentan los arreglos y las
cadenas. Las cadenas se consideran como un arreglo de tipo
char.
Los arreglos son una colección de variables del
mismo tipo que hacen referencia utilizando un nombre
común. Un arreglo consta de posiciones de memoria
contigua. La dirección más baja corresponde al
primer elemento y la más alta al último. Un arreglo
puede tener una o varias dimensiones a los arreglos
unidimensionales se les conocen como vectores y a los
bidimensionales como matrices. Para acceder a un elemento en
particular de un arreglo se usa un índice. El formato para
declarar un arreglo unidimensional es:
tipo nombre_arr [ tamaño ]
Por ejemplo, para declarar un arreglo de enteros llamado
listanum con diez elementos se hace de la siguiente
forma:
int listanum[10];
En C, todos los arreglos usan cero como índice
para el primer elemento. Por tanto, el ejemplo anterior declara
un arreglo de enteros con diez elementos desde listanum[0] hasta
listanum[9]. La forma como pueden ser accesados los elementos de
un arreglo, es de la siguiente forma:
listanum[2] = 15; /* Asigna 15 al 3er elemento del
arreglo listanum*/
num = listanum[2]; /* Asigna el contenido del 3er
elemento a la variable num */ El lenguaje C no realiza
comprobación de contornos en los arreglos. En el caso
de que sobrepase el final durante una
operación de asignación, entonces se
asignarán valores a otra variable o a un trozo del
código el cual es una condición no deseada. Como
programador se es responsable de asegurar que todos los arreglos
sean lo suficientemente grandes para guardar lo que pondrá
en ellos el programa.
Para declarar arreglos con más de una
dimensión, el formato general es:
tipo nombre_arr [ tam1 ][ tam2 ] … [ tamN];
Por ejemplo un arreglo de enteros bidimensionales se
escribirá como:
int tabladenums[50][50];
Observar que para declarar cada dimensión lleva
sus propios paréntesis cuadrados. Para acceder los
elementos se procede de forma similar al ejemplo del arreglo
unidimensional.
tabladenums[2][3] = 15; /* Asigna 15 al elemento de la
3ª fila y la 4ª columna*/
num = tabladenums[25][16];
Si se desea la inicializar arreglos, es decir asignar
valores al arreglo en el momento de ser declarados debe hacerse
con el siguiente formato: tipo nombre_arr[ tam1 ][ tam2 ] … [
tamN] = {lista-valores};
Ejemplo:
int i[10] = {1,2,3,4,5,6,7,8,9,10};
int num[3][4]= {0,1,2,3,4,5,6,7,8,9,10,11};
Los valores para el número de elementos deben ser
constantes, y se pueden usar tantas dimensiones como queramos,
limitado sólo por la memoria disponible.
Ejemplo4:
Imagen 5
Imagen 6
Bibliografia
• Categorías: Wikipedia:Esbozo
matemática | Wikipedia:Esbozo programación | Tipos
de datos básicos | Lenguajes formales
• Cool C-C++ Program
• Acción en C-C++ –
Tutoriales.mht
• Departament
d"Informàtica Departamento de
Informática, PRÀCTICA 11, Curso
2002-2003
• FACULTAT DE MATEMATIQUES,
UNIVERSITAT DE VALENCIA
Anexos
http://www.yousendit.com
www.monografias.com http://fileupyours.com
http://www.rincondelvago.com/
http://www.transferbigfiles.com
Autor:
Isis Irias
Gustavo Turcios
Javier Iscoa
Catedrático:
Ing. Henry Pinto
Universidad Católica de Honduras
"Nuestra Señora Reina de la Paz"
Asignatura
Programación Científica
Tegucigalpa, M. D. C. 01 de Marzo del 2008
Página anterior | Volver al principio del trabajo | Página siguiente |